home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 4.6 KB | 150 lines | [TEXT/MPS ] |
- /*
- File: WorldScript.idl
-
- Contains: WorldScript I Interfaces.
-
- Version: Technology: System 7.5
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __WORLDSCRIPT_IDL__
- #define __WORLDSCRIPT_IDL__
-
- #include <somobj.idl>
- #include <somcls.idl>
-
- #ifndef __TYPES_IDL__
- #include <Types.idl>
- #endif
- #ifndef __TRAPS_IDL__
- #include <Traps.idl>
- #endif
- #ifndef __QUICKDRAWTEXT_IDL__
- #include <QuickdrawText.idl>
- #endif
-
- #ifdef __SOMIDL__
-
- typedef UInt16 WSIOffset;
-
- typedef UInt8 WSIByteCount;
-
- typedef UInt8 WSIByteIndex;
-
- /* offset from start of sub-table to row in state table */
- typedef UInt16 WSIStateOffset;
-
- typedef UInt32 WSITableOffset;
-
- typedef UInt16 WSISubtableOffset;
-
- typedef UInt16 WSIGlyphcode;
-
- typedef UInt32 WSITableIdentifiers;
-
- /**** L O O K U P T A B L E T Y P E S ****/
- typedef unsigned short WSILookupTableFormat;
-
- typedef unsigned short WSILookupValue;
-
- /* An offset from the beginning of the lookup table */
- typedef unsigned short WSILookupOffset;
-
- /* FORMAT SPECIFIC DEFINITIONS */
- /*
- lookupSimpleArray:
-
- This is a simple array which maps all glyphs in the font
- to lookup values.
- */
- typedef SOMTwoByteStruct WSILookupArrayHeader; /* Derived from a struct of 2 bytes in size */
-
- /*
- lookupTrimmedArray:
-
- This is a single trimmed array which maps a single range
- of glyhs in the font to lookup values.
- */
- typedef SOMLargeStruct WSILookupTrimmedArrayHeader; /* Derived from a struct of 6 bytes in size */
-
- /* The format specific part of the subtable header */
- typedef SOMLargeStruct WSILookupFormatSpecificHeader; /* Derived from a struct of 8 bytes in size */
-
- /* The overall subtable header */
- typedef SOMLargeStruct WSILookupTableHeader; /* Derived from a struct of 8 bytes in size */
-
- /**** G L Y P H E X P A N S I O N ****/
- typedef unsigned short GlyphExpansionFormats;
-
- typedef SOMFourByteStruct ExpandedGlyphCluster; /* Derived from a struct of 4 bytes in size */
-
- typedef SOMFourByteStruct ExpandedGlyphOffset; /* Derived from a struct of 4 bytes in size */
-
- typedef SOMLargeStruct GlyphExpansionStateTable; /* Derived from a struct of 6 bytes in size */
-
- typedef SOMLargeStruct GlyphExpansionTable; /* Derived from a struct of 24 bytes in size */
-
- /* Glyph-to-Character constants and types */
- typedef unsigned short GlyphToCharLookupFormats;
-
- typedef UInt8 GlyphToCharFontIndex;
-
- typedef UInt8 QDGlyphcode;
-
- typedef SOMLargeStruct GlyphToCharActionTable; /* Derived from a struct of 10 bytes in size */
-
- typedef SOMFourByteStruct GlyphToCharActionHeader; /* Derived from a struct of 4 bytes in size */
-
- typedef SOMLargeStruct GlyphToCharHeader; /* Derived from a struct of 16 bytes in size */
-
- /*
- JUSTIFICATION TYPES
- WorldScript supports justification of text using insertion. The justification
- table specifies a insertion string to insert between 2 specified glyphs.
- Each combination of inter-glyph boundary can be assigned a justification priority,
- the higher the priority the more justification strings inserted at that position.
-
- The priorities for each inter-glyph boundary are specified by the justification table's
- state table.
-
- Special handling is done for scripts which use spaces to justify, because the width of
- a space varies depending on the setting of SpaceExtra. This is why the number of spaces
- per inserting string is specified in the justification table.
-
- */
- typedef UInt8 WSIJustificationPriority;
-
- typedef SOMFourByteStruct WSIJustificationStateEntry; /* Derived from a struct of 4 bytes in size */
-
- typedef unsigned short WSIJustificationClasses;
-
- typedef unsigned short WSIJustificationStates;
-
- /* pre-multiplied: class# * sizeof(WSIJustificationStateEntry) */
- typedef UInt8 WSIJustificationClassOffset;
-
- typedef SOMLargeStruct WSIJustificationStateTable; /* Derived from a struct of 8 bytes in size */
-
- /*
- Last two fields of above structure - someday?
- WSIJustificationClassOffset classes[up to 64 classes supported];
- WSIJustificationStateEntry states[up to your heart's desire];
- */
- typedef SOMLargeStruct WSIJustificationHeader; /* Derived from a struct of 20 bytes in size */
-
- /* Line Layout's Property table version <11> */
- /* pass as priorityWeight to JustifyWSILayout to use script's current just setting */
-
- #endif /* __SOMIDL__ */
-
- #endif /* __WORLDSCRIPT_IDL__ */
-
-